/**
 * 可通过 $page.handler.xxx 访问这里定义的方法
 * 注意：该方法仅在所属的页面有效
 * 如果需要 async-await，请修改成 export default async function() {}
 * protocol参数取值：
 * app:第三方应用，不过新版微信已经不允许这么做了
 * miniProgram:其他小程序
 * page:当前小程序页面，protocol参数没有时默认按此处理（to传对应的pageId）
 * link:当前小程序页面（其他分包）此时to的格式为分包名/页面名
 * 更多的参数可在case里增加
 */

export default function (e) {

  let protocol = "";
  let to = "";
  let path = "";
  e.data.target.map((res,index) =>{
     protocol = res.protocol 
     to = res.to 
     path = res.path 
  })
  // if (e.data.target && e.data.target != "") {
  //   protocol = e.data.target.protocol;
  //   to = e.data.target.to;
  //   path = e.data.target.path;
  // } else if (e.event.detail.target && e.event.detail.target != "") {
  //   // 兼容处理，通过emit传的参数不在data.target里，要到event.detail.target里找参数
  //   protocol = e.event.detail.target.protocol;
  //   to = e.event.detail.target.to;
  //   path = e.event.detail.target.path;
  // }

  if (to != "") {
    switch (protocol) {
      case "miniProgram":
        app.navigateToMiniProgram({
          appId: to,
          path,
          // extraData: {
          //   foo: "bar",
          // },
          // envVersion: "develop",
          success(res) {
            // 跳转成功
            console.log(res);
          },
          fail(res) {
            // 跳转失败
            console.log(res);
          },
        });
        break;
      case "page":
        app.navigateTo({
          pageId: to,
          success(res) {
            // 跳转成功
            console.log(res);
          },
          fail(res) {
            // 跳转失败
            console.log(res);
          },
        });
        break;
      case "link":
        app.navigateTo({
          pageId: path,
          packageName: to,
          success(res) {
            // 跳转成功
            console.log(res);
          },
          fail(res) {
            // 跳转失败
            console.log(res);
          },
        });
        break;
      default:
        app.navigateTo({
          pageId: to,
          success(res) {
            // 跳转成功
            console.log(res);
          },
          fail(res) {
            // 跳转失败
            console.log(res);
          },
        });
        break;
    }
  } else {
    app.showToast({
      title:'该功能正在开发',
      icon:'none'
    })
  }
}
